/**
 * 
 */
package edu.acatlan.unam.client.ui.controlador;

//Librerías de la clase
import java.util.ArrayList;

//Librerías del proyecto
import edu.acatlan.unam.client.ui.controlador.lienzo.CLienzo;
import edu.acatlan.unam.shared.bdoo.*;

/**
 * @author jacobo
 * 
 * Esta interfaz es el punto de comunicación entre el Lienzo y el panel
 * principal. Solicita la información del esquema (las tablas que se están
 * manejando para visualizarlas) e indica qué tabla hay que visualizar en
 * el editor. 
 */
public interface CBDisegnadorLienzo {
	/**
	 * @return las tablas que conforman el esquema de la base de datos
	 */
	ArrayList<TTabla> getTablas();
	
	/**
	 * @param indiceTabla es el índice de la tabla que hay que visualizar
	 * en el editor de tablas.
	 */
	void ponerEditor(TTabla t);

	/**
	 * @param cLienzo es el controlador del lienzo.
	 */
	void vincular(CLienzo cLienzo);

	/**
	 * @return el id del esquema actual
	 */
	Long getIdEsquema();
	
	/**
	 * Esta realiza la generación del Script de SQL.
	 */
	void generarScript();
}
